Safari
Safari 模块提供用于打开和展示网页的函数,可通过系统默认浏览器外部打开,或在 Scripting 应用内通过内嵌 Safari 视图打开网页,实现沉浸式或外部浏览的无缝切换。
模块:Safari
该模块包含两个函数:
▸ Safari.openURL(url: string): Promise<boolean>
使用系统默认方式打开指定的 URL。根据 URL 的 scheme 类型,可能会启动 Safari、其他浏览器或对应的第三方应用。
参数
url(string): 要打开的 URL。支持以http://、https://开头的网址,也支持如mailto:、tel:、appname://等自定义 URL scheme。
返回值
- 返回一个
Promise<boolean>,当 URL 成功打开时为true,如果打开失败(例如无效的 scheme 或未安装支持的应用)则为false。
示例
▸ Safari.present(url: string, fullscreen?: boolean): Promise<void>
在 Scripting 应用内使用内嵌 Safari 视图展示网页。该网页以模态窗口方式呈现。返回的 Promise 会在用户关闭该视图后才完成。
参数
url(string): 要展示的网页地址。fullscreen(boolean, 可选): 是否以全屏方式展示,默认为true。
返回值
- 一个
Promise<void>,在用户关闭网页视图后完成。
示例
默认全屏展示网站:
非全屏展示(例如嵌入界面中的子页面):
使用场景
- 跳转到外部链接,例如帮助文档、认证页面或 App Store。
- 在应用内展示在线内容,如博客文章、数据面板等。
- 通过自定义 URL scheme 启动第三方应用。
注意事项
- 请确保传入的是完整有效的 URL。
- 若希望用户停留在应用中,请使用
present()。 - 若需跳转到外部浏览器或打开其他 app,请使用
openURL()。
